package com.jidong.test_springboot.shiro;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;
import org.springframework.beans.factory.annotation.Autowired;

import com.jidong.test_springboot.dao.UserDao;


/***
 *Authentication 是跟用户验证有关的。替换了authc的拦截器
 */
public class JWTFilter extends BasicHttpAuthenticationFilter{
	
	
	/*验证逻辑在这里写 (该怎么调用)  
	 * 这个方法是在ShiroConfig中的 的 map.put("/**", "jwt"); 这句话自动调用
	 * return true   代表本验证通过，还要继续其他验证
	 * return false  代表本验证通过，不必继续其他验证
	 * **/
	@Override
	protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) {
		String token=request.getParameter("token");
		JwtToken t=new JwtToken(token);
		SecurityUtils.getSubject().login(t);//login方法会自动调用Realm中的验证登录方法
		return true;
	}
	
}
